package com.shms.dao;

import java.util.List;

import com.shms.bean.GroupOfPoint;
import com.shms.bean.IndexParam;
import com.shms.entity.ShGrade;
import com.shms.entity.ShPoint;

/**
 * 文件名：ShPointDao.java
 * 编写者：习孟冬
 * 创建时间：2013-1-3
 * 简要描述：
 *
 */
public interface ShPointDao {
	/**
	 * 根据周次和年级统计查询该年级每个宿舍的该周次卫生成绩
	 * @param ShPoint 对象
	 * @return List<ShPoint> 对象
	 */
	public List<ShPoint> queryPointByGradeAndWeek(ShPoint shPoint);
	
	/**
	 * 根据宿舍号统计查询该年级每个宿舍的该周次卫生成绩
	 * @param ShPoint 对象
	 * @return List<ShPoint> 对象
	 */
	public List<ShPoint> queryPointByBidAndHid(ShPoint shPoint);
	
	/**
	 * 根据年级统计每个宿舍本学期平均成绩
	 * @param shGrade ShGrade 对象
	 * @return List<ShPoint> 对象
	 */
	public List<ShPoint> avgPointByHid(ShGrade shGrade);
	
	/**
	 * 根据分组信息，获取宿舍成绩信息列表
	 * @param groupOfPoint GroupOfPoint 对象
	 * @return GroupOfPoint 对象
	 */
	public GroupOfPoint queryPoint(GroupOfPoint groupOfPoint);
	
	/**
	 * 批量删除成绩信息...此方法未验证，用时注意
	 * @param ids Integer[] 对象 主键数组
	 * @return boolean 对象
	 */
	public boolean batchDelete(Integer[] ids);
	
	/**
	 * 保存成绩信息
	 * @param shPoint ShPoint 对象
	 * @return boolean 对象
	 */
	public boolean savePoint(ShPoint shPoint);
	
	/**
	 * 更新成绩信息
	 * @param shPoint ShPoint 对象
	 * @return boolean 对象
	 */
	public boolean updatePoint(ShPoint shPoint);
	
	/**
	 * 根据成绩信息ID查询具体数据信息
	 * @param shPoint ShPoint 对象
	 * @return ShPoint对象
	 */
	public ShPoint queryById(ShPoint shPoint);
	
	/**
	 * 
	 * @param indexParam
	 * @return
	 */
	public List<ShPoint> queryPointByExample(IndexParam indexParam);
}
